<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #demo {
            width: 200px;
            height: 200px;
            background-color: #6ff;
            margin: 50px;
            border: 1px solid transparent;
        }

        .active {
            border: 1px solid red !important;
        }
    </style>
</head>

<body>
    <div id="demo" class="one two three" title="hello"></div>
</body>
<script>
    var demo = document.getElementById("demo");

    // 元素节点的属性之classList

    // className   获取和设置class属性
    // classList   获取class列表


    console.log(demo.className);
    console.log(demo.classList);

    // 将two改为second
    // demo.className = "one second three";

    // 自己实现  => class列表中单个class名的 增 删 改 查
    // var list = demo.className.split(" ");
    // if (list.includes("two")) {
    //     var index = list.indexOf("two");
    //     list.splice(index, 1, "second");
    // }
    // console.log(list);

    // demo.className = list.join(" ");
    // console.log(demo);

    // classList中的方法
    // add()     向匹配的元素中追加一个或多个class名(多个class名逗号分隔 没有就新增 有就忽略)
    // remove()  删除匹配的元素中一个或多个class名(有就删除 没有就忽略)
    // replace(oldCls,newCls)   将匹配的元素中的某个class名,替换为新class名
    // contains()   判断匹配的元素中是否存在某个class名 =>返回true/false
    // toggle()    判断匹配的元素中是否存在某个class名,没有就新增 有就删除


    demo.classList.add("a", "b", "c", "d");
    demo.classList.remove("a", "b", "c", "d");
    demo.classList.replace("two", "second");
    console.log(demo.classList.contains("two"));

    // demo.classList.toggle("four"); //新增four
    // demo.classList.toggle("four"); //删除four


    demo.onclick = function () {
        this.classList.toggle("active");
    }






</script>

</html>